Physical systems can be modeled mathematically to simulate their behavior under certain conditions. There are a wide variety of means to model these systems, ranging from the very simplistic to the extremely complicated. One of the more complicated means to model physical systems is through the use of finite element analysis. As the name implies, finite element analysis involves the representation of individual, finite elements of the physical system in a mathematical model and the solution of this model in the presence of a predetermined set of boundary conditions.
In finite element modeling, the region that is to be analyzed is broken up into sub-regions called elements. This process of dividing the region into sub-regions may be referred to as discretization or mesh generation. The region is represented by functions that are defined over each element. This generates a number of local functions that are much simpler than those which would be required to represent the entire region. The next step in the process is to analyze the response for each element. This is accomplished by building a matrix that defines the properties of the various elements within the region and a vector that defines the forces acting on each element in the structure. Once all the element matrices and vectors have been created, they are combined into a matrix equation. This equation relates nodal responses for the entire structure to nodal forces. After applying boundary conditions, the matrix equation can be solved to obtain unknown nodal responses. Intra-element responses can be interpolated from nodal values using the functions which were defined over each element.
As indicated above, finite element modeling involves the creation of a mesh of finite elements. The elements are defined by nodes within the problem space. The nodes are simply points in space. The lines between the nodes are referred to as “edges.” The mesh is typically a structured mesh. In other words, the mesh is defined in three dimensions so that the elements within the problem space are hexahedrons. For example, they may be cubes or rectangular prisms. (Equivalently, in two dimensional problems, the elements would be rectangles—see FIG. 1 for an illustration of these elements.) The edges of the hexahedrons are coincident with the edges between the nodes of the mesh. In a simple model, the nodes of the mesh may be regularly spaced to define cubic elements. It is not necessary, however, for the nodes to be evenly spaced in all finite element models. A variety of different sizes and shapes of hexahedral elements can be defined within a single mesh.
One of the problems with meshes which use hexahedral elements is that they do not lend themselves well to complex geometries which may need to be modeled. In other words, it may be difficult to place nodes sufficiently close to irregular surfaces to accurately determine the solution to the problem along those surfaces. Viewed another way, it is difficult to fill an irregularly shaped object with regularly shaped boxes. This situation is further complicated by limitations on the minimum distance between nodes in a structured mesh. Even when additional nodes elements can be defined in the mesh to improve the accuracy of the model, the inclusion of these additional elements causes the resources needed to solve the resulting model to increase. If increased accuracy is desired, an increased number of elements, as well as greater computing power, is required.
One way to reduce the cost associated with increasing the accuracy of a finite element model is to use an unstructured mesh. In an unstructured mesh, the elements which comprise the mesh are not constrained to fit within a predetermined structural scheme. For example, the elements are not required to be selected from a finite set of predefined element shapes (e.g., hexahedra) or sizes (e.g., fractions of an initial size.) More particularly, it may be convenient to employ a mesh that comprises simplex elements which have no predefined constraints. Because the faces of the simplex elements need not be parallel to predetermined planes (e.g., the X-Y, Y-Z or X-Z planes,) they can be oriented to follow the contours of a surface that is being modeled and may therefore achieve accuracy that is on par with a structured mesh. As a result, an unstructured mesh that conforms to the geometry is simpler to create.
Although unstructured meshes may be capable of more accurately modeling irregular surfaces than structured meshes, it may nevertheless be difficult to construct an unstructured mesh in such a way that the irregular surfaces are properly modeled. If the surfaces are not essentially coincident with the faces of the elements in the mesh (or more particularly some of the element faces,) then this advantage is minimized or lost. It would therefore be useful to develop a method for defining the elements of the unstructured mesh so that the surface is accurately defined by one or more faces of the elements of the mesh.